package secondStage.part6.接口组成更新.接口中的静态方法;

/**
 * @ClassName: [MyInterfaceDemo1]
 * @Description: 接口中的静态方法测试类
 * @Author: [黄劲松]
 * @CreateDate: [2021-04-14]
 * @Version: [v1.0]
 */
/*
需求:
1:定义一个接口Inter，里面有三个方法:
    一个是抽象方法，一个是默认方法，一个是静态方法
    void show( );
    default void method(){ }
    public static void test(){ }
2:定义接口的一个实现类:
    InterImpl
3:定义测试类:
    MyInterfaceDemo1
    在主方法中，按照多态的方式创建对象并使用
 */
/*
1.3接口中静态方法
    接口中静态方法的定义格式:
    ●格式: public static返回值类型方法名(参数列表){ }
    ●范例: public static void show() { }
    接口中静态方法的注意事项:
    ●静态方法只能通过接口名调用，不能通过实现类名或者对象名调用(因为多个接口中可能有同名方法，会出现无法指定那个方法调用)
    ●public可以省略，static不能省略
 */
public class MyInterfaceDemo1 {
    public static void main(String[] args) {
        //按照多态的方式创建对象并调用
        Inter i = new InterImpl();
        i.show();
        i.method();
//        i.test();//报错，接口中的静态方法只能被接口调用
//        InterImpl.test();//报错，接口中的静态方法只能被接口调用
        Inter.test();
    }
}
